package h1.sismetro.negocio.itensManutencao;

import java.util.List;

import h1.sismetro.classesbasicas.Dispositivo;
import h1.sismetro.exceptions.AcessoAoBancoException;
import h1.sismetro.exceptions.ConexaoComBancoException;
import h1.sismetro.exceptions.DispositivoJaCadastradoException;
import h1.sismetro.exceptions.DispositivoNaoEncontradoException;
import h1.sismetro.exceptions.NenhumDispositivoCadastradoException;


public interface ICadastroDispositivo {	
	public void cadastrar(Dispositivo novoDispositivo) throws ConexaoComBancoException, AcessoAoBancoException, DispositivoJaCadastradoException;;
	public boolean existe(String identificador) throws ConexaoComBancoException, AcessoAoBancoException;;
	public void alterar(Dispositivo novoDispositivo) throws DispositivoNaoEncontradoException, ConexaoComBancoException, AcessoAoBancoException;
	public void excluir(String identificador) throws ConexaoComBancoException, AcessoAoBancoException, DispositivoNaoEncontradoException;;
	public Dispositivo recuperar(String identificador) throws ConexaoComBancoException, AcessoAoBancoException, DispositivoNaoEncontradoException;;
	public List<Dispositivo> imprimir() throws ConexaoComBancoException, AcessoAoBancoException, NenhumDispositivoCadastradoException;;
	
}
